<html>
<head><meta charset="utf-8"><title>History of Rust Async Await? · wg-async-foundations · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/index.html">wg-async-foundations</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/History.20of.20Rust.20Async.20Await.3F.html">History of Rust Async Await?</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="197011214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/History%20of%20Rust%20Async%20Await%3F/near/197011214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nell Shamrell-Harrington <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/History.20of.20Rust.20Async.20Await.3F.html#197011214">(May 09 2020 at 20:28)</a>:</h4>
<p>Hello all,</p>
<p>Along with getting to know the async codebase, I'm also creating a talk for ChefConf on how technical communities work together to solve problems no one could solve on their own. I'd like to highlight how Async/Awaits came to be. Can anyone point me to key RFCs or other links for this?</p>



<a name="197014350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/History%20of%20Rust%20Async%20Await%3F/near/197014350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Steven Fackler <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/History.20of.20Rust.20Async.20Await.3F.html#197014350">(May 09 2020 at 21:32)</a>:</h4>
<p>The async/await RFC is here: <a href="https://github.com/rust-lang/rfcs/pull/2394" title="https://github.com/rust-lang/rfcs/pull/2394">https://github.com/rust-lang/rfcs/pull/2394</a></p>



<a name="197014389"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/History%20of%20Rust%20Async%20Await%3F/near/197014389" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Steven Fackler <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/History.20of.20Rust.20Async.20Await.3F.html#197014389">(May 09 2020 at 21:33)</a>:</h4>
<p>there's also the RFC for the Future trait and its other bits: <a href="https://github.com/rust-lang/rfcs/pull/2418" title="https://github.com/rust-lang/rfcs/pull/2418">https://github.com/rust-lang/rfcs/pull/2418</a></p>



<a name="197014503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/History%20of%20Rust%20Async%20Await%3F/near/197014503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Steven Fackler <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/History.20of.20Rust.20Async.20Await.3F.html#197014503">(May 09 2020 at 21:34)</a>:</h4>
<p>IIRC erickt was working on something like async/await as a compiler plugin a couple of years ago before realizing it needed to be integrated into the compiler more tightly</p>



<a name="197014532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/History%20of%20Rust%20Async%20Await%3F/near/197014532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Steven Fackler <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/History.20of.20Rust.20Async.20Await.3F.html#197014532">(May 09 2020 at 21:35)</a>:</h4>
<p>yeah, this thing: <a href="https://github.com/erickt/stateful" title="https://github.com/erickt/stateful">https://github.com/erickt/stateful</a></p>



<a name="197014851"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/History%20of%20Rust%20Async%20Await%3F/near/197014851" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Steven Fackler <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/History.20of.20Rust.20Async.20Await.3F.html#197014851">(May 09 2020 at 21:39)</a>:</h4>
<p>and there are a set of articles on aturon's blog about earlier futures: <a href="http://aturon.github.io/tech/2016/08/11/futures/" title="http://aturon.github.io/tech/2016/08/11/futures/">http://aturon.github.io/tech/2016/08/11/futures/</a></p>



<a name="197075208"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/History%20of%20Rust%20Async%20Await%3F/near/197075208" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nell Shamrell-Harrington <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/History.20of.20Rust.20Async.20Await.3F.html#197075208">(May 10 2020 at 19:57)</a>:</h4>
<p>Thank you!</p>



<a name="197306524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/History%20of%20Rust%20Async%20Await%3F/near/197306524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/History.20of.20Rust.20Async.20Await.3F.html#197306524">(May 12 2020 at 17:04)</a>:</h4>
<p><span class="user-mention" data-user-id="225192">@Nell Shamrell-Harrington</span> I would highly recommend boats blog posts. Some links:</p>
<ul>
<li><a href="https://boats.gitlab.io/blog/post/2018-01-25-async-i-self-referential-structs/">Async/Await I: Self-Referential Structs</a></li>
<li><a href="https://boats.gitlab.io/blog/post/2018-01-30-async-ii-narrowing-the-scope/">Async/Await II: Narrowing the scope of the problem</a></li>
<li>...</li>
<li><a href="https://boats.gitlab.io/blog/post/2018-02-08-async-v-getting-back-to-the-futures/">Async/Await V: Getting back to the futures</a></li>
<li>..</li>
</ul>
<p>etc</p>



<a name="197306562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/History%20of%20Rust%20Async%20Await%3F/near/197306562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nell Shamrell-Harrington <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/History.20of.20Rust.20Async.20Await.3F.html#197306562">(May 12 2020 at 17:04)</a>:</h4>
<p>Thank you! I have been enjoying your Async interview series as well, <span class="user-mention" data-user-id="116009">@nikomatsakis</span> :)</p>



<a name="197306569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/History%20of%20Rust%20Async%20Await%3F/near/197306569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/History.20of.20Rust.20Async.20Await.3F.html#197306569">(May 12 2020 at 17:04)</a>:</h4>
<p>too many to cite really, browse the TOC</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>